"use strict";
/*
功能：定义一个操作数据的库，支持mysql mogodb sql
要求1：mysql sql mogodb 都有add update delete get 方法
注意：约束统一的规范，以及代码重用
解决方案:需要约束规范所以要定义接口，需要代码重用  所以要用到泛型
1.接口：在面向对象的编程中，接口是一种规范的定义，它定义了行为和动作的规范
2.泛型 通俗理解：泛型就是解决 类 接口 方法的复用
*/
// 定义一个操作mysql的类
class MysqlDb {
    add(info) {
        console.log(info, '新增');
        return true;
    }
    update(info, id) {
        console.log(info, '编辑');
        return true;
    }
    delete(id) {
        console.log(id, '删除');
        return true;
    }
    get(id) {
        console.log(id, '获取');
        return true;
    }
}
// 往mysql里新增数据
class User {
}
let u = new User();
u.username = '小花';
u.password = '123456';
let oMysql = new MysqlDb(); //类作为参数约束数据传入的类型
oMysql.add(u);
// 定义一个操作sql的类
class sqlDb {
    add(info) {
        throw new Error("Method not implemented.");
    }
    update(info, id) {
        throw new Error("Method not implemented.");
    }
    delete(id) {
        throw new Error("Method not implemented.");
    }
    get(id) {
        throw new Error("Method not implemented.");
    }
}
// 定义一个mogodb 的类
class mogoDb {
    add(info) {
        throw new Error("Method not implemented.");
    }
    update(info, id) {
        throw new Error("Method not implemented.");
    }
    delete(id) {
        throw new Error("Method not implemented.");
    }
    get(id) {
        throw new Error("Method not implemented.");
    }
}
